//package cn.qiao.dubbo.provider.impl;
//
//import cn.qiao.dubbo.HelloService;
//import cn.qiao.dubbo.UserService;
//import com.alibaba.dubbo.config.ApplicationConfig;
//import com.alibaba.dubbo.config.ProtocolConfig;
//import com.alibaba.dubbo.config.RegistryConfig;
//import com.alibaba.dubbo.config.ServiceConfig;
//import org.springframework.beans.factory.InitializingBean;
//import org.springframework.stereotype.Component;
//
///**
// * desc:
// *
// * @author qiao
// * @date 2023年08月09日 23:01
// */
//@Component
//public class  Provide implements InitializingBean {
//
//
//    @Override
//    public void afterPropertiesSet() throws Exception {
//        // 服务实现
//        UserService xxxService = new UserServiceImpl();
//
//
//// 当前应用配置
//        ApplicationConfig application = new ApplicationConfig();
//        application.setName("xxx");
//
//// 连接注册中心配置
//        RegistryConfig registry = new RegistryConfig();
//        registry.setAddress("zookeeper://localhost:2181");
//        registry.setUsername("aaa");
//        registry.setPassword("bbb");
//
//// 服务提供者协议配置
//        ProtocolConfig protocol = new ProtocolConfig();
//        protocol.setName("dubbo");
//        protocol.setPort(20880);
//        protocol.setHost("localhost");
//        protocol.setThreads(200);
//
//// 注意：ServiceConfig为重对象，内部封装了与注册中心的连接，以及开启服务端口
//
//// 服务提供者暴露服务配置
//        ServiceConfig<Object> service = new ServiceConfig<>(); // 此实例很重，封装了与注册中心的连接，请自行缓存，否则可能造成内存和连接泄漏
//        service.setApplication(application);
//        service.setRegistry(registry); // 多个注册中心可以用setRegistries()
//        service.setProtocol(protocol); // 多个协议可以用setProtocols()
//        service.setInterface(UserService.class);
//        service.setRef(xxxService);
////        service.setVersion("1.0.0");
//
//// 暴露及注册服务
//        service.export();
//    }
//}
